/**
 * 将时间戳格式化为中文日期时间字符串（示例：05月21日 14:30）
 * @param timestamp - 时间戳（支持数字/字符串/Date对象）
 * @returns 格式化后的字符串（MM月DD日 HH:mm 格式）
 * @throws 当传入无效时间戳时抛出错误
 */
const formatToChineseDateTime = (timestamp: number | string | Date): string => {
  const date = timestamp instanceof Date ? timestamp : new Date(timestamp);
  
  if (isNaN(date.getTime())) {
    throw new Error('Invalid timestamp: ' + timestamp);
  }

  const month = (date.getMonth() + 1).toString().padStart(2, '0');
  const day = date.getDate().toString().padStart(2, '0');
  const hours = date.getHours().toString().padStart(2, '0');
  const minutes = date.getMinutes().toString().padStart(2, '0');

  return `${month}月${day}日 ${hours}:${minutes}`;
};

export default formatToChineseDateTime;